package org.apache.ibatis.AAMyDemo.pagePlugin;

/**
 * 分页查询参数
 *
 * @Author yangSen
 * @Date 2022年05月04日 15:35
 */
public class Page {

  /**
   * 总条数，不分页的情况下有多少条
   */
  private int total;
  /**
   * 页码 从1开始 ， 默认为1
   */
  private int index = 1;
  /**
   * 每页大小，默认20条
   */
  private int size = 20;
  /**
   * 是否有下一页
   */
  private boolean isNextPage;

  public Page(int index, int size) {
    this.index = index;
    this.size = size;
  }


  public int getTotal() {
    return total;
  }

  public void setTotal(int total) {
    this.total = total;
  }

  public int getIndex() {
    return index;
  }

  public void setIndex(int index) {
    this.index = index;
  }

  public int getSize() {
    return size;
  }

  public void setSize(int size) {
    this.size = size;
  }

  /**
   * 计算是否有下一页
   *
   * @return
   */
  public boolean isNextPage() {
    if (size + this.offset() >= total) {
      return false;
    }
    return true;
  }


  /**
   * 查询的开始条数
   * <p>
   * 每页条数 * (开始页码 - 1)
   *
   * @return
   */
  public int offset() {
    return size * (index - 1);
  }
}
